# -*- coding:UTF-8 -*-
import yaml

class Yaml:
    def __init__(self, path, param=None):
        self.path = path  # 文件路径
        self.param = param  # 读取信息的key,不传默认获取所有数据


    # 获取yaml文件中的数据
    def get_data(self):
        with open(self.path, 'rb') as y:
            cont = y.read()  # 获取yaml文件中的所有信息
        yaml.warnings({'YAMLLoadWarning': False})  # 禁用加载器warnings报警
        cf = yaml.load(cont)  # 将bytes格式转成dict格式
        y.close()  # 关闭文件
        if self.param == None:
            return cf  # 返回所有数据
        else:
            return cf.get(self.param)


    def set_data(self, setValue):
        with open(self.path, "a+", encoding="utf-8") as f:
            # 注：此模式为追加模式,若想直接重写则将open函数中的模式'a+'改为'w'
            # yaml.dump(setValue, f)
            f.write(yaml.dump(setValue))
        f.close()

